package com.ruoyi.teaching.service;

import java.util.List;

import com.ruoyi.teaching.vo.MyStageTaskVO;
import com.ruoyi.teaching.vo.StageTaskSubmitVO;
import com.ruoyi.teaching.domain.YaStageTask;

/**
 * 阶段任务Service接口
 *
 * @author ruoyi
 * @date 2025-03-12
 */
public interface IYaStageTaskService
{
    /**
     * 查询阶段任务
     *
     * @param taskId 阶段任务主键
     * @return 阶段任务
     */
    public YaStageTask selectYaStageTaskByTaskId(Long taskId);

    /**
     * 查询阶段任务列表
     *
     * @param yaStageTask 阶段任务
     * @return 阶段任务集合
     */
    public List<YaStageTask> selectYaStageTaskList(YaStageTask yaStageTask);

    /**
     * 新增阶段任务
     *
     * @param yaStageTask 阶段任务
     * @return 结果
     */
    public int insertYaStageTask(YaStageTask yaStageTask);

    /**
     * 修改阶段任务
     *
     * @param yaStageTask 阶段任务
     * @return 结果
     */
    public int updateYaStageTask(YaStageTask yaStageTask);

    /**
     * 批量删除阶段任务
     *
     * @param taskIds 需要删除的阶段任务主键集合
     * @return 结果
     */
    public int deleteYaStageTaskByTaskIds(Long[] taskIds);

    /**
     * 删除阶段任务信息
     *
     * @param taskId 阶段任务主键
     * @return 结果
     */
    public int deleteYaStageTaskByTaskId(Long taskId);

    /**
     * 查询学员自己的阶段任务
     * @param yaStageTask
     * @return
     */
    List<MyStageTaskVO> selectMyStageTaskList(YaStageTask yaStageTask);


    List<StageTaskSubmitVO> selectSubmitList(Long taskId, Long classesId);
}
